#include <iostream>

#include "Brodocast.h"
#include "RedeTeste.h"

using namespace std;

void nodoCriador()
{
    ConfiguracaoBrodocast *conf = new ConfiguracaoBrodocast;
    conf->setNome("A");
    conf->setPorta(12345);

    Brodocast *b = Brodocast::criaBrodocast(conf);

    while(1);
    b->enviar("Hello World do Criador!");
}

void nodo1()
{
    Brodocast *b = 0x0;
    Grupo *grupoDesejado = 0x0;
    list<Grupo*> listaG;

    // Verifica todos os grupos disponiveis na rede
    Brodocast::buscaGrupo(listaG);

    cout << "Grupos disponiveis na rede:" << endl;

    for(
        list<Grupo*>::iterator i = listaG.begin() ;
        i != listaG.end() ; i++)
    {
        grupoDesejado = *i;
        cout << grupoDesejado->nome() << endl;
    }

    cout << "Vou entrar no grupo " << grupoDesejado->nome() << endl;

    b = Brodocast::entrar(grupoDesejado);

    b->enviar("Hello World!");
}

void nodo2()
{

}

int main()
{
    cout << "Nodo criador:" << endl;
//    nodoCriador();
    cout << "Nodo1:" << endl;
    nodo1();

    return 0;
}

